@database "Yak.guide" @index "Index" ## CONTENTS @node Main "Yak Documentation" @next Features @{fg shine} Yak Version 2.12 @{fg text} by Ga l Marziou and Philippe Bastiani released on 30 April 1996. @{b}Introduction... @{ub} @{" Features " link Features} @{" Required System " link Requirement} @{" Installation " link Installation} @{" Limitations " link Limitations} @{" Current users: Notez-bien " link nb} @{b}The commodity program... @{ub} @{" Overview " link YakCommodity} @{" Starting " link YakStarting} @{" Tooltypes " link YakTooltypes} @{b}The preferences editor... @{ub} @{" Overview " link YakPrefsEditor} @{" Starting the editor " link YakPrefsStarting} @{" Tooltypes " link YakPrefsTooltypes} @{" Main Window " link MainWindow} @{" Mouse Cycling Window " link MouseCycling} @{" Blanking Window " link Blanking} @{" Miscellaneous Window " link Miscellaneous} @{" Hotkeys Window " link Hotkeys} @{" Digital Clock " link "Digital Clock"} @{b}Other topics... @{ub} @{" Copyright and Distribution " link Copyright} @{" Problems / Non Problems " link Problems} @{" Program History " link History} @{" Credits and Thanks " link Credits} @{" Development team " link YakTeam} @{" Contacting the Authors " link Contact} @{" INDEX " link Index} @endnode ## FEATURES @node Features "Yak Documentation: Features" @prev Main @next Requirement @{b}Features@{ub} Yak stands for "Yet Another Kommodity" (never was any good at speling - see @{" Jokes " link Jokes}), and is a mouse/window manipulation program along the same lines as DMouse, MightyMouse etc. Why write another one? None of the others (and I've looked at almost all of them) were quite right for me. Yak has the following features: o AutoPoint (sunmouse) that only activates when mouse stops can also specify which screens to include/exclude. (Compatible with popup-menu type programs) o AutoPop windows (bring them to front) when they're auto-activated; o KeyActivate windows (when key pressed); o Activate windows when menu button pressed; o Click windows to front or back; may also specify which screens/windows to include/exclude. o Cycle screens with mouse; o Mouse and Screen blanking (hotkey blanking too); o Extensible hotkey system (like FKey's) with actions to: Execute a CLI Command or an ARexx script; Insert text (with embedded hotkeys); Insert date (in custom format if locale present); Close/Zip/Shrink/Enlarge windows; Move/Cycle screens and windows; Activate Workbench; Blank display; Pop up a palette on front screen (needs reqtools); Menu shortcut o KeyClick with adjustable volume; o No Click option (for drives). o Wildstar option (like StarBurst) lets you use '*' as wildcard. o Optional on-screen AppIcon to bring up preferences window. Look familiar? It's a combination of the AutoPoint, ClickToFront, Blanker and IHelp/FKey standard commodities (on the Extras disk) with a hint of KCommodity and DMouse thrown in. Fully localized when running OS 2.1 or more! And it's quite small! @endnode @node Jokes "Yak Documentation: Jokes" @prev Features @next Features @{b}Jokes@{ub} These might be old, but they're good: Q. What's the difference between a goldfish and a goat? A. A goldfish mucks around in fountains! And if you got that one, you'll definitely get this one... Q. What's the difference between a magic wand and a truncheon (baton). A. A magic wand is used for cunning stunts. (I *always* say that last answer wrong) @endnode ## REQUIREMENT @node Requirement "Yak Documentation: Required System" @prev Features @next Installation @{b}Required System @{ub} Yak requires version 2.04 of the Amiga operating system or higher. Some features are only available in 3.0+ system version. It supports commodities exchange standard and @{"localization" Link Localization} with locale.library @endnode ## LOCALIZATION @node Localization "Yak Documentation: Localization" @prev Requirement @next Requirement @{b}Localization@{ub} Yak is fully localized. It currently supports english as built-in language and danish, dutch, finnish, french, german, italian and swedish with supplied catalogs. If you want to localize Yak to your own language, then you're welcome. There's no need to be a developper to make a translation, the only requisite is to know very well your language :-) Be aware that there are several things that can be translated : Yak itself by writing a catalog. The installer script. The amigaguide documentation. You can translate part of this or the whole as you want. In the Catalogs directory, you will find a file named yak.ct which contains the strings used by Yak interface and which has been built from yak.cd that you an also find in the Catalogs directory.. It is ready to be translated, let's take an example : MISCELLANEOUS_STRING ; Miscellaneous; So, if you want to translate "Miscellaneous" into french, you should put its translation on the empty line as this : MISCELLANEOUS_STRING Divers ; Miscellaneous; So, when you have translated all the strings of yak.ct you can either use catcomp or one of his PD replacements such as CatEdit, KitCat or FlexCat to generate your catalog or you can send me yak.ct so that I will generate the catalog myself. Credits for the translator should go into the 'about' requester which string identifier is About_Yak_STRING. @endnode ## INSTALLATION @node Installation "Yak Documentation: Installation" @prev Requirement @next Limitations @{b}Installation@{ub} Double-click on one of the icons located in the Installation drawer, according to the language you want to use. Simply follow the steps. Help is available almost everywhere. @endnode ## LIMITATIONS @node Limitations "Yak Documentation: Limitation" @prev Installation @next nb @{b}Limitations@{ub} Yak only has a plain screen-blanker. Since the introduction of OS 2.0, there has been a profusion of fancy modular screen blankers. I think most people have their own favourite fancy blanker, so I didn't include one in Yak, don't ask for one. There is no mouse-acceleration. The system default one (settable via the Input preferences) is more than adequate as far as I am concerned. If I get enough requests, I'll add faster acceleration (so far, hardly any received). @endnode ## NOTEZ-BIEN @node nb "Yak Documentation: Notez-bien" @prev Limitations @next YakCommodity @{b}Current users: Notez-bien@{ub} Yak's preference file format has changed again. A @{"Convert" link Convert} program is supplied to create a 2.0 preference file from the 1.xx preference files. The ClickWindows pattern will be lost!. Yak has being split into two commodities: - @{"Yak main commodity " link YakCommodity} - @{"Yak's preferences editor" link YakPrefsEditor} Of course, there have been many other changes, and you should browse through this document to accustomise yourself with them. @endnode ## CONVERT @node Convert "Yak Documentation: Convert program" @prev nb @next nb @{b}Convert program@{ub} If you are a user of previous version of Yak, you can convert your own settings to the new preferences format. Just double click on the convert icon or run it from a shell. In case you use tooltype @{b}LANGUAGE@{ub} for previous version of Yak, you can also set it for Convert to benefit of automatic naming of hotkeys in your favorite language. @endnode ## YAK MAIN COMMODITY @node YakCommodity "Yak Documentation: Yak commodity" @prev nb @next YakStarting @{b}Yak commodity@{ub} The commodity program will simply install and process all the actions specified within the preferences editor (see @{"The Preferences Editor" Link YakPrefsEditor}, for more information about setting the preferences). On demand Yak may also launch the Preferences editor either via HotKey, or via AppIcon. You can control it via the Commodities Exchange. You can now choose between a standard Gadtools or a BGUI user interface. @endnode ## STARTING YAK @node YakStarting "Yak Documentation: Starting Yak" @prev YakCommodity @next YakTooltypes @{b}Starting Yak@{ub} Yak is designed to be run from the sys:WBStartup drawer, but may be 'run' from a Shell (not recommended, as it will use significantly more memory). It needs a stack size of 4500 bytes. You should set this in Yak's icon, or if starting it from the Shell, use the following commands: stack 4500 run >nil: yak Yak doesn't use Shell parameters. In any case, Yak reads the icon parameters. @endnode ## TOOLTYPES @node YakTooltypes "Yak Documentation: Yak tooltypes" @prev YakStarting @next YakPrefsEditor @{b}Using tooltypes@{ub} The only tooltypes that Yak takes are the standard Workbench ones (such as DONOTWAIT), the standard Commodities ones (such as CX_POPUP), and the specific tooltypes ones (such as LANGUAGE). Those tooltypes are: ToolType Category Description Default --------------------------------------------------------------------------- CX_POPKEY HOTKEY Key to show settings window RCommand Help CX_PRIORITY INTEGER Priority of this commodity 0 CX_POPUP BOOLEAN Show settings window on startup NO APPICON BOOLEAN If TRUE, an AppIcon is created FALSE ICONNAME STRING Name of AppIcon "Yak!" ICONXPOS INTEGER x-coordinate of AppIcon floating ICONYPOS INTEGER y-coordinate of AppIcon floating LANGUAGE STRING Name of language to use Not specified PREFSPRG STRING Full name of preferences editor "SYS:Prefs/Yak" FRONT_DELAY INTEGER Delay for Window To Front 6 BACK_DELAY INTEGER Delay for Window To Back 6 You should also have the tooltype @{b}DONOTWAIT@{ub} set if you want to start Yak from your SYS:WBStartup drawer. The @{b}CX_PRIORITY@{ub} may be useful in enabling Yak and other commodities to work better together. The @{b}AppIcon@{ub} facility is optional, and by default is off. Specify APPICON=TRUE if you want it. If you do, Yak puts an AppIcon onto the Workbench screen, and when it is double-clicked, the preferences editor is launched. The icon imagery is obtained from the icon Yak was started from, which allows you to customise the AppIcon to your colours/resolution simply by changing Yak's icon. The @{b}LANGUAGE@{ub} tooltype has been added for people using Workbench in one language and Yak in another one. For example, french friends of mine are used to english workbench but want to use Yak in french so they just have to set the LANGUAGE tooltype as this : LANGUAGE=fran Of course, those of you who want to use same language for both Yak and workbench don't have to worry about this tooltype. @endnode ## YAK PREFERENCES EDITOR @node YakPrefsEditor "Yak Documentation: The Yak's preferences editor" @prev YakTooltypes @next YakPrefsStarting @{b}The Yak's Preferences Editor @{ub} With the preferences editor you can manage the global configuration of Yak. This configuration gets automatically loaded by the Yak handler. Remember that you must press the RETURN, ENTER or TAB key once you have edited a string gadget, so that the change is registered. Simply clicking outside it will lose the changes. (The TAB key activates the next string gadget for text entry). The windows are AppWindows: if you drop a preferences file on the editor the preferences will be loaded. You can control the editor via the Commodities Exchange. @endnode ## STARTING YAK PREFS @node YakPrefsStarting "Yak Documentation: Starting the preferences editor" @prev YakPrefsEditor @next YakPrefsTooltypes @{b}Starting the preferences editor @{ub} o This program may be started simply double-clicking on it's icon. Per default the program is located within "SYS:Prefs" drawer. o On demand the Yak's handler may launch the editor: Double click its icon; Press RCommand Help (i.e. the Right Amiga key and the Help key). This key-sequence is configurable (via the CX_POPKEY tooltype); Double click Yak's AppIcon (if this feature is set); Start Yak again (from Workbench tool icon); Via the Commodities Exchange (on the Extras disk). @endnode ## TOOLTYPES @node YakPrefsTooltypes "Yak Documentation: Yak editor tooltypes" @prev YakPrefsStarting @next MainWindow @{b}Using tooltypes@{ub} The only tooltypes that Yak takes are the standard Workbench ones (such as DONOTWAIT), the standard Commodities ones (such as CX_POPUP), and the specific tooltypes ones (such as LANGUAGE). Those tooltypes are: ToolType Category Description Default --------------------------------------------------------------------------- CX_PRIORITY INTEGER Priority of this commodity 0 FONT STRING Name of the font to use for GUI Not specified LANGUAGE STRING Name of language to use Not specified CREATEICONS BOOLEAN Create icons YES PREFSHELP STRING Full name of the help file "Yak.guide" The @{b}FONT@{ub} tooltype is used to force the preferences editor to use your favorite font instead of the screen font. For example, if you want the GUI to use Helvetica 15 set FONT=helvetica 15 or and FONT="helvetica 15". The @{b}LANGUAGE@{ub} tooltype has been added for people using Workbench in one language and Yak in another one. For example, french friends of mine are used to english workbench but want to use Yak in french so they just have to set the LANGUAGE tooltype as this : LANGUAGE=fran Of course, those of you who want to use same language for both Yak and workbench don't have to worry about this tooltype. When the @{b}CREATEICONS@{ub} tooltype is set to YES, the editor will create an icon for every preferences file that is created with the @{b}Save As@{ub} menu item. The @{b}PREFSHELP@{ub} tooltype specifies the full name of the online help file. Its default path is "HELP:language/", where 'language' is one of your prefered languages as specified in your system preferences. @endnode ## MAIN WINDOW @node MainWindow "Yak Documentation: Main window" @prev YakPrefsTooltypes @next MouseCycling @{b}Main Window@{ub} o To the top of the window, the 3 gadgets groups allow you to specify basic settings: @{" Windows Activation " link WindowsActivation} @{" Screens Activation " link ScreensActivation} @{" AutoPopToFront " link AutoPopToFront} o Several buttons open up others windows with advanced settings. There are: @{" Mouse Cycling " link MouseCycling} @{" Blanking " link Blanking} @{" Edit Hotkeys " link Hotkeys} @{" Miscellaneous " link Miscellaneous} @{" Digital Clock " link "Digital Clock"} o This window has several attached @{"menus" link Menus}. o The lower 3 buttons are used to control the configuration: With the @{b}Save@{ub} button you can save the configuration permanently into the file ENVARC:Yak.prefs and into the file ENV:Yak.prefs before quitting the editor. For a temporary change, use the @{b}Use@{ub} button which will save the configuration into the file ENV:Yak.prefs (this file will not survive a machine reset) and will quit the editor. Click on the @{b}Cancel@{ub} button to quit the editor without saving. @endnode @node Menus "Yak Documentation: Menus" @prev MainWindow @next MainWindow @toc MainWindow @{b}The menus@{ub} o @{b}Project@{ub} menu: With the @{b}Open@{ub}, @{b}Save@{ub} and @{b}Save As@{ub} items you can load and save the configuration. The @{b}About@{ub} item opens an information requester. Selecting the @{b}Hide@{ub} item will hide the editor without saving. Selecting the @{b}Quit@{ub} item will leave the editor without saving. o @{b}Edit@{ub} menu: The @{b}Reset To Default@{ub} item sets the default configuration. The @{b}Last Saved@{ub} item loads the last saved configuration from the file ENVARC:Yak.prefs. With the @{b}Restore@{ub} item you can load the configuration that is active. o @{b}Settings@{ub} menu: With the @{b}Create Icons@{ub} item, you can choose whether the Save As item should create an icon or not. @endnode ## Windows activation @node WindowsActivation "Yak Documentation: Windows Activation" @prev MainWindow @next ScreensActivation @toc MainWindow @{b}Windows Activation@{ub} The following toggles are available: @{" Key Activate " link KeyActivate} Activates window on a key pressed @{" RMB Activate " link RMBActivate} Activates window with the right mouse button @{" MMB Activate " link MMBActivate} Activates window with the middle mouse button @{" AutoPoint " link AutoPoint} Activates the window under the mouse @endnode @node KeyActivate "Yak Documentation: Key Activate" @node KeyActivate "Yak Documentation: Key Activate" @node KeyActivate "Yak Documentation: Key Activate" @prev WindowsActivation @next RMBActivate @toc WindowsActivation @{b}Key Activate@{ub} Activates window under mouse when key is pressed. You should only need one of AutoPoint or KeyActivate. Note that the KeyActivate function only take place when NO mouse button is pressed. Not only does this avoid conflict with other programs, it provides a way of preventing activation when it's not desired. See also: @{" AutoPoint " link AutoPoint} @endnode @node RMBActivate "Yak Documentation: RMB Activate" @prev KeyActivate @next MMBActivate @toc WindowsActivation @{b}RMB Activate@{ub} When selected, the window under the mouse will be activated when the right mouse button is pressed, regardless of the status of AutoPoint. This is useful in getting the menu you want without either waiting for AutoPoint to activate the window or clicking into the window to make it active. For instance, when using the screen depth gadgets, the new front screen is not activated, but with this toggle set, clicking the RMB will get the correct menus. Note 1: If there is no window under the mouse, the first window on the screen will be activated. Note 2: To work properly with popupmenu-type programs, Yak's CX_PRIORITY may need to be higher than the popupmenu program's CX_PRIORITY. @endnode @node MMBActivate "Yak Documentation: MMB Activate" @prev RMBActivate @next AutoPoint @toc WindowsActivation @{b}MMB Activate@{ub} When selected, the window under the mouse will be activated when the middle mouse button is pressed, regardless of the status of AutoPoint. This is useful in getting the menu you want without either waiting for AutoPoint to activate the window or clicking into the window to make it active. Note 1: If there is no window under the mouse, the first window on the screen will be activated. @endnode @node AutoPoint "Yak Documentation: AutoPoint" @prev MMBActivate @next WindowsActivation @toc WindowsActivation @{b}AutoPoint@{ub} When actived, the window under the mouse will be activated. This behaves almost exactly like Commodore's AutoPoint commodity, in that it only activates a window when the mouse stops. AutoPoint is compatible with popup-menu type programs such as the excellent MagicMenu. AutoPoint settings: - @{" AutoScreens " link AutoScreens} - @{" AutoPoint Delay " link AutoPointDelay} Note that the AutoPoint and AutoPopToFront functions only take place when NO qualifier (mouse or keyboard) is pressed. Not only does this avoid conflict with other programs, it provides a way of preventing activation/popping when it's not desired. See also: @{" AutoPopToFront " link AutoPopToFront} @endnode @node AutoScreens "Yak Documentation: AutoScreens" @prev AutoPoint @next AutoPointDelay @toc AutoPoint @{b}AutoScreens@{ub} AutoPoint will work on screens whose default title matches this pattern. See also @{" Default Title " link DefaultTitle} and @{" AmigaDos Patterns " link PatternHelp}. @endnode @node AutoPointDelay "Yak Documentation: AutoPoint Delay" @prev AutoScreens @next AutoPoint @toc AutoPoint @{b}AutoPoint Delay@{ub} Controls how long Yak should be waiting after mouse has stopped before activating window under mouse. This value must be into the 0 to 5 interval which correspound to 10 ms step. A delay of zero means no delay, obvious isn't it ?. @endnode ## Screens activation @node ScreensActivation "Yak Documentation: Screens Activation" @prev WindowsActivation @next AutoPopToFront @toc MainWindow @{b}Screens Activation@{ub} When actived, Yak will activate screens that it shuffles by hotkeys (i.e. Screen Cycle hotkey and LCommand m hotkey). This is a toggle because conflicts arise with some programs. This is similar (but not identical) to Steve Tibbet's WindX. By activating screens I mean that it activates a window of this screen, this window can be : - the window that was active last time you have visited this screen by cycling screens via Yak's hotkeys. - the window under the mouse-pointer if this screen has never been visited before. - the first window of this screens if both previous conditions failed. @endnode ## AutoPopToFront @node AutoPopToFront "Yak Documentation: AutoPopToFront" @prev AutoPoint @next MainWindow @toc MainWindow @{b}AutoPopToFront@{ub} Only operative when AutoPoint is set, this tells Yak to bring windows to the front as well as activating them. The exception is when the window under the mouse has a requester showing. AutoPopToFront setting: - @{" PopWindows " link PopWindows} Note that the AutoPopToFront and AutoPoint functions only take place when NO qualifier (mouse or keyboard) is pressed. Not only does this avoid conflict with other programs, it provides a way of preventing activation/popping when it's not desired. See also: @{" AutoPoint " link AutoPoint} @endnode @node PopWindows "Yak Documentation: PopWindows" @prev AutoPopToFront @next AutoPopToFront @toc AutoPopToFront @{b}PopWindows@{ub} AutoPopToFront will work on windows whose title matches this pattern. See also @{" AmigaDos Patterns " link PatternHelp}. @endnode ## Default title @node DefaultTitle "Yak Documentation: Default Title" @prev DefaultTitle @next DefaultTitle @toc DefaultTitle @{b}Default Title of a screen@{ub} The default title of a screen doesn't vary. Windows of applications can change the screen title but not the default screen title. For example, the title of the workbench screen is often changed by applications when their own windows are active but the default title of the workbench screen remains unchanged. So, when setting a screen pattern you should use the default title of the screen which can be found when no window is active on this screen. Most of the time, finding the default title will be very easy but in some rare cases you will gain to use an utility such as ARTM. See also @{" AmigaDos Patterns " link PatternHelp}. @endnode ## PATTERNHELP @node PatternHelp "Yak Documentation: AmigaDos Patterns" @prev PatternHelp @next PatternHelp @toc PatternHelp @{b}AmigaDos Patterns@{ub} AmigaDos patterns are used to include/exclude a list of named screens/windows for a particular feature. These pattern specifications aid in compatibility with other programs you may use. Pattern matching is case-sensitive. "Amiga" is not the same as "AMIGA". The standard AmigaDos patterns available are: ? Matches a single character. # Matches the following expression 0 or more times. (ab|cd) Matches any one of the items separated by '|'. ~ Negates the following expression. It matches all strings that do not match the expression (aka ~(foo) matches all strings that are not exactly "foo" [abc] Character class: matches any of the characters in the class. a-z Character range (only within character classes). % Matches 0 characters always (useful in "(foo|bar|%)"). * Synonym for "#?", not available by default. Available if @{"Wild star" link Wildstar} option is set. If you're not used to patterns, you may find all of that quite daunting. Consult your system manual for further details. There are two basic things you'll want: either a finite list of names that the feature should be enabled on, or a finite list for which it should be disabled. To ENABLE a feature on all objects (be they screens or windows, as appropriate) use the "#?" pattern (matches everything). To enable a feature on N objects named "name1" to "nameN", use (name1|name2| ... |nameN) and to DISABLE the feature for these names, prepend a tilde ~, viz. ~(name1|name2| ... |nameN) An example: I don't want AutoPopToFront popping the Workbench window or any Protext (WP from Arnor) window, so exclude them with the pattern ~(Workbench|#?Arnor#?) Note that the second 'name' is actually a pattern, which matches any title with the text "Arnor" in it. Another example: I don't want AutoActivation on Directory Opus's screen. It doesn't show its title in the program so I have to use ARTM or Xoper to find the screen's default tilte, and find that it's "DOPUS.1". Figuring that the "1" would bump to "2" if I ran two copies, I decide to exclude all DOpus screens using ~(DOPUS#?) Yet another example : I don't want AutoActivation on BrowserII's screen. The defaul title (when no window is active) is BrowserII followed by the names of the authors and the copyright years. As these years will evolve, I decide to exclude BrowserII screen by using : ~(BrowserII#?) Note : Screens or windows with titles that are unset (i.e. are NULL) always pass the patterns. @endnode ## MOUSE CYCLING @node MouseCycling "Yak Documentation: Mouse Cycling Window" @prev MainWindow @next Blanking @{b}Mouse Cycling Window@{ub} Clicking on the "Mouse Cycling" gadget opens up a new window which allows you to configure some cycling actions on reception of mouse events. These actions are: @{" Window To Front " link ClickToFront} @{" Window To Back " link ClickToBack} @{" Cycle Screens " link CycleScreens} When you've finished editing, click the @{b}Ok@{ub} gadget on to return to the main settings window. @endnode @node ClickToFront "Yak Documentation: ClickToFront" @prev MouseCycling @next ClickToBack @toc MouseCycling @{b}Window to front@{ub} This allows you to bring a window to the front of others via mouse buttons. ClickToFront settings: - @{" Active " link Active} - @{" ScreenToFront " link ScreenToFront} - @{" Required Clicks " link RequiredClicks} - @{" Exclude Workbench Window " link ExcludeWorkbenchWindow} - @{" Include Screens " link IncludeScreens} - @{" Definition " link "Hotkey Description String"} Default: will bring any window (except for the Workbench window) to front by double-clicking over it with left mouse button. @endnode @node Active "Yak Documentation" @prev MouseCycling @next MouseCycling @toc MouseCycling @{b}Active@{ub}: use this gadget to enable or to disable the correspounding action. @endnode @node ScreenToFront "Yak Documentation: ScreenToFront" @prev MouseCycling @next MouseCycling @toc MouseCycling @{b}Screen To Front@{ub}: when there's no window or a backdrop window under mouse, clicking to front will bring to front the screen under mouse. @endnode @node RequiredClicks "Yak Documentation: Required Clicks" @prev MouseCycling @next MouseCycling @toc MouseCycling @{b}Required Clicks@{ub}: number of mouse clicks required to trig the action. @endnode @node IncludeScreens "Yak Documentation: Include Screens" @prev MouseCycling @next MouseCycling @toc MouseCycling @{b}IncludeScreens@{ub}: an pattern on screens default title which allows you to specify on which screens this action is active. See @{" AmigaDos Patterns " link PatternHelp}. @endnode @node ExcludeWorkbenchWindow "Yak Documentation: Exclude Workbench Window" @prev MouseCycling @next MouseCycling @toc MouseCycling @{b}Exclude Workbench Window@{ub}: when on means that ClickToFront action is disabled for the workbench window. @endnode @node ClickToBack "Yak Documentation: ClickToBack" @prev ClickToFront @next CycleScreens @toc MouseCycling @{b}Window to back@{ub} This allows you to push a window to the back of others via mouse buttons. ClickToBack settings: - @{" Active " link Active} - @{" ScreenToBack " link ScreenToBack} - @{" Required Clicks " link RequiredClicks} - @{" Include Screens " link IncludeScreens} - @{" Definition " link "Hotkey Description String"} Default: will push any window to the back of others by pressing and holding the left mousebutton, then clicking the right mousebutton. @endnode @node ScreenToBack "Yak Documentation: Screen to back" @prev MouseCycling @next MouseCycling @toc MouseCycling @{b}Screen To Back@{ub}: when there's no window or a backdrop window under mouse, clicking to back will bring the screen under mouse to back. @endnode @node CycleScreens "Yak Documentation: CycleScreens" @prev ClickToBack @next MouseCycling @toc MouseCycling @{b}Screens cycling@{ub} This allows you to cycle through screens via mouse buttons. CycleScreens settings: - @{" Active " link Active} - @{" Required Clicks " link RequiredClicks} - @{" Include Screens " link IncludeScreens} - @{" Definition " link "Hotkey Description String"} Default: will cycle through all screens by double-clicking with middle mouse button. @endnode ## BLANKING WINDOW @node Blanking "Yak Documentation: Blanking Window" @prev MouseCycling @next Miscellaneous @{b}Blanking Window@{ub} This window contains a few gadgets to control blanking: @{" MouseBlank Method " link MouseBlankMethod} @{" Blank mouse on key pressed " link MouseBlankOnKey} @{" ScreenBlank Method " link ScreenBlankMethod} @{" TimeOut " link TimeOut} When you've finished editing, click the @{b}Ok@{ub} gadget on to return to the main settings window. @endnode @node MouseBlankMethod "Yak Documentation: MouseBlank Method" @prev Blanking @next MouseBlankOnKey @toc Blanking @{b}MouseBlank Method@{ub} This gadget determines the method by which the mouse pointer is blanked. @{b}None@{ub} disables mouse-blanking altogether. @{b}Sprites@{ub} means blank mouse by disabling (all) sprites @{b}Copper@{ub} means blank mouse by modifying copper list. This latter option only disables sprite 0 (the mouse-pointer), so terminal programs using a sprite for the cursor work okay, but the method is a bit less robust (the mouse occasionally comes back on). See also: @{" Problems " link Problems} @endnode @node MouseBlankOnKey "Yak Documentation: Blank mouse on key pressed" @prev MouseBlankMethod @next ScreenBlankMethod @toc Blanking @{b}Blank mouse on key pressed@{ub} This is a toggle if set, mouse pointer will be blanked as soon as you hit the keyboard. If it is not set, mouse will blanked only on time out. @endnode @node ScreenBlankMethod "Yak Documentation: ScreenBlank Method" @prev MouseBlankOnKey @next TimeOut @toc Blanking @{b}ScreenBlank Method@{ub} This gadget determines the method by which the display is blanked. @{b}None@{ub} disables screen-blanking altogether @{b}Black Screen@{ub} means blank display by opening a black screen with the same displaymode as the frontmost screen @{b}DMA@{ub} means cutting off DMA channels. This option saves some CPU cycles so it is well indicated for compilation or 3D rendering, however it may not work with some graphic cards. @{b}PowerSave@{ub} means putting your monitor in powersave mode. Your monitor must support this mode and also you must have cybergraphics.library installed on your system. If you don't have the cybergraphics.library, this option is equivalent to @{b}Black Screen@{ub} method. @endnode @node TimeOut "Yak Documentation: TimeOut Settings" @prev ScreenBlankMethod @next Blanking @toc Blanking @{b}TimeOut Settings@{ub} With this gadgets, you can set up timeout for screen and mouse blanking: @{" ScreenTimeOut " link ScreenTimeOut} @{" MouseTimeOut " link MouseTimeOut} @endnode @node ScreenTimeOut "Yak Documentation: ScreenTimeOut" @prev TimeOut @next MouseTimeOut @toc TimeOut @{b}ScreenTimeOut@{ub} If no user input (mouse or keyboard) occurs over this period (of seconds), the screen will blank. This is only operational if the @{"ScreenBlank Method" link ScreenBlankMethod} is not set to "None". @endnode @node MouseTimeOut "Yak Documentation: MouseTimeOut" @prev ScreenTimeOut @next TimeOut @toc TimeOut @{b}MouseTimeOut@{ub} If mouse isn't moved in the period specified, the mouse pointer will blank. This is only operational if the @{"MouseBlank Method" link MouseBlankMethod} is not set to "None". @endnode ## MISCELLANEOUS WINDOW @node Miscellaneous "Yak Documentation: Miscellaneous Window" @prev Blanking @next Hotkeys @{b}Miscellaneous Window@{ub} This window contains a few other features controlled by these gadgets. They are: @{" Click Volume " link ClickVolume} @{" Wild star " link Wildstar} @{" Black border " link BlackBorder} @{" No Click " link NoClick} @{" CapShift " link CapShift} @{" MMB Shift " link MMBShift} @{" UNIX Dirs " link UNIXDirs} @{" Full Workbench " link FullWorkbench} @{" UNIX Root " link UNIXRoot} When you've finished editing, click the @{b}Ok@{ub} gadget on to return to the main settings window. @endnode @node ClickVolume "Yak Documentation: Click Volume" @prev Miscellaneous @next Wildstar @toc Miscellaneous @{b}Click Volume@{ub} Controls the volume of the KeyClick (the sound made when you press a key). A volume of zero means 'no click' (yes, that's obvious, but when set to zero, the audio device won't be opened at all). Maximum volume is 64. Note that, when you don't release a key, the auto-repeat will simulate the same key pressed several times, but Yak will emit one click in order to avoid slowing down scrolling using arrow keys in a text editor for example. @endnode @node Wildstar "Yak Documentation: Wild star" @prev ClickVolume @next BlackBorder @toc Miscellaneous @{b}Wild star@{ub} When on, enables the use of * as an AmigaDos pattern-matching character (like MSDOS and UNIX *). (This is what the StarBurst program does.) @endnode @node BlackBorder "Yak Documentation: Black Border" @prev WildStar @next NoClick @toc Miscellaneous @{b}Black Border@{ub} When on, Yak will add a black border to all your screens. This feature is only available in 3.0+ system version as it uses a new flag of the graphics library. @endnode @node NoClick "Yak Documentation: No Click" @prev BlackBorder @next UNIXDirs @toc Miscellaneous @{b}No Click@{ub} When on, stops your floppy drives from "clicking" when they're empty. @endnode @node UNIXDirs "Yak Documentation: UNIX Dirs" @prev NoClick @next UNIXRoot @toc Miscellaneous @{b}UNIX Dirs@{ub} When on, allow you to use: '..' as parent directory '.' as current directory in all directories operations. This is done by patching the following standard libraries functions: AssignLate AssignPath CreateDir DeleteFile LoadSeg Lock MakeLink MatchFirst NewLoadSeg Open ParsePattern Rename SetComment SetFileDate SetProtection @endnode @node UNIXRoot "Yak Documentation: UNIX Root" @prev UNIXDirs @next MMBShift @toc Miscellaneous @{b}UNIX Root@{ub} When on, allow you to use: '/' as root directory of current device (equivalent to amigados ':') in all directories operations. As '/' has a different meaning for amigados, this feature can confuse some amigados applications. To reduce the possibilities of meaning conflicts, when this feature is on, Yak will first tries the UNIX meaning and in case of failure it will try the amigados meaning. This feature is only available when @{" UNIX Dirs " link UNIXDirs} is on. @endnode @node MMBShift "Yak Documentation: MMB Shift" @prev MMBShift @next FullWorkbench @toc Miscellaneous @{b}MMB Shift@{ub} When on, Yak will translate the middle mouse button (on a 3 buttons mouse) into the left shift key. More accurately, this will happen only when pressing left mouse button while holding middle mouse button. This make easier to select multiple icons on the workbench or multiple files in a file-requester without having to touch keyboard. Other usages of middle button in other key combinations won't get changed. @endnode @node FullWorkbench "Yak Documentation: Full Workbench" @prev UNIXDirs @next CapShift @toc Miscellaneous @{b}Full Workbench@{ub} When on, the workbench title bar will be hidden and the workbench backdrop window will be expanded so that it covers the whole workbench screen. This is useful if you use a backdrop picture and want it to occupy the whole space on your workbench screen. The screen cycling gadget (in top right screen corner) will be hidden too but that's not a problem because you can cycle trough screens by using Yak's @{" Mouse Cycling " link MouseCycling} feature or @{" Screen to Back " link "Screen to Back"} hotkey action. Note: This has no effect if you don't use a backdrop workbench window. Some applications like GNU emacs makes the workbench title bar back to visible when they start. @endnode @node CapShift "Yak Documentation: CapShift" @prev FullWorkbench @next Miscellaneous @toc Miscellaneous @{b}CapShift@{ub} When on, the 'SHIFT' keys render the 'Caps Lock' key ineffective temporarily. Note: the CapShift only works in printables characters. @endnode ## HOTKEYS WINDOW @node Hotkeys "Yak Documentation: Hotkeys Window" @prev Miscellaneous @next "Digital Clock" @{b}Hotkeys Window@{ub} Clicking the "Edit Hotkey" gadget on opens up a new window which lets you create, edit and delete hotkeys. Making a key a hotkey means that when the key is pressed, Yak performs some action (of which there are many to choose from). Hotkeys are defined using a hotkey description string, which is a very flexible method of defining input events. You can have as many hotkeys as you like, and each action may pertain to more than one hotkey. There are two lists in the Hotkeys window: - the left-hand lists the available @{"actions" link "Hotkey Actions"}, - the right-hand lists the hotkeys currently defined for the selected action. To add a new hotkey, first select the action you wish it to perform (by clicking its name in the left-hand list). Then press the @{b}Add@{ub} button below the Hotkey list. To delete a hotkey from Yak's list, use the @{b}Delete@{ub} button. To edit an existing hotkey, first click its name the right-hand list. Then, to change: - its name, enter the new name into the gadget below the list; - its state, use the cycle gadget; - its @{"hotkey description string" link "Hotkey Description String"}, press the @{b}Definition@{ub} button; - its @{"options" link OptionsWindow}, press the @{b}Option@{ub} button. When you've finished editing hotkeys, click the @{b}Ok@{ub} gadget on to return to the main settings window. See: @{" Hotkey Actions " link "Hotkey Actions"} @{" Hotkey Description String " link "Hotkey Description String"} @endnode ## KEYDEF WINDOW @node "Hotkey Description String" "Yak Documentation: Hotkey Description String" @next "Automatic Definition" @toc "Hotkey Description String" @{b}Hotkey Description String@{ub} Here, you can define or modify hotkeys used by Yak. The current hotkey description is displayed within the string gadget. There are two transparent ways to define a hotkey: @{" Automatic Definition " link "Automatic Definition"} @{" Manual Definition " link "Manual Definition"} Once you've finished editing a hotkey, click the @{b}Ok@{ub} gadget on to register the new description string. Click the @{b}Cancel@{ub} gadget on to abort the hotkey definition. @endnode @node "Automatic Definition" "Yak Documentation: Automatic Definition" @prev "Hotkey Description String" @next "Manual Definition" @toc "Hotkey Description String" @{b}Automatic Definition@{ub} Simply choose the hotkey class (by clicking on the left-hand cycle gadget); then hit the keys and mouse buttons, you want to use: Yak convert them into an input description string. Toggle mode is used. So, if you press a key twice it will be removed from the defintion. With the stroke gadget (the right-hand cycle gadget) you can set the method by which the hotkey will be activated. See also: @{" More on Hotkeys " link MoreHotkeys} @endnode @node "Manual Definition" "Yak Documentation: Manual Definition" @prev "Automatic Definition" @next MoreHotkeys @toc "Hotkey Description String" @{b}Manual Definition@{ub} Click on the string gadget and type in the hotkey description string: Yak parses string and updates gadgets. WARNING: The commodities.library is not bug free: -here is a wrong description string: `NumericPad a' -here are some unusable description strings: `NumericPad [' and `NumericPad ]' (with a french keyboard) See also: @{" More on Hotkeys " link MoreHotkeys} @endnode ## OPTIONS WINDOW @node "OptionsWindow" "Yak Documentation: Hotkey Options Window" @prev "Hotkey Actions" @next "Hotkey Description String" @toc Hotkeys @{b}Hotkey Options Window@{ub} Here, you can define or modify options used by each hotkey. Each action type has its own options editing window. Once you've finished editing the options, click on the @{b}Ok@{ub} gadget to register them. Click the @{b}Cancel@{ub} gadget on to abort editing. See: @{" Hotkey Actions " link "Hotkey Actions"} list. @endnode ## HOTKEY ACTIONS @node "Hotkey Actions" "Yak Documentation: Hotkey Actions" @prev Hotkeys @next OptionsWindow @toc Hotkeys @{b}Hotkey Actions@{ub} The many actions available are: @{" Execute Command " link "Execute Command"} @{" Close Window " link "Close Window"} @{" Zip Window " link "Zip Window"} @{" Shrink Window " link "Shrink Window"} @{" Expand Window " link "Expand Window"} @{" Move Window " link "Move Window"} @{" Cycle Windows " link "Cycle Windows"} @{" Open Palette " link "Open Palette"} @{" Screen to Front " link "Screen to Front"} @{" Screen to Back " link "Screen to Back"} @{" Move Screen " link "Move Screen"} @{" Activate Workbench " link "Activate Workbench"} @{" Blank Display " link "Blank Display"} @{" Insert Text " link "Insert Text"} @{" Insert Date " link "Insert Date"} @{" Show Yak Interface " link "Show Yak Interface"} @{" Set default public screen " link "Set default public screen"} @{" Menu shortcut " link "Menu shortcut"} @{" Iconify Window " link "Iconify Window"} @endnode @node "Execute Command" "Yak Documentation: Execute Command" @prev "Hotkey Actions" @next "Close Window" @toc "Hotkey Actions" @{b}Execute Command@{ub} o @{b}Action@{ub}: Executes a CLI command or an ARexx script. The program is executed asynchronously. o @{b}Options@{ub}: - @{" Action on screens " link "Action On Screen"} (default: 'no screen change') - Specifications of program: - @{" Type " link PrgType} (default: 'CLI') - @{" Stack size " link PrgStack} (default: '4000') - @{" Priority " link PrgPriority} (default: '0') - @{" AREXX Port " link PrgAREXXPort} (default: 'AREXX') - @{" Name " link PrgName} @endnode @node "Action on screen" "Yak Documentation: Action on screen" @prev "Action on screen" @next "Action on screen" @toc "Hotkey Actions" @{b}Action on screen@{ub} You can set the screen which should be moved to front before the program is started. This one can be: -the current screen, -the Workbench, -the default public screen. @endnode @node PrgType "Yak Documentation: Program type" @prev PrgType @next PrgStack @toc "Hotkey Actions" @{b}Program type@{ub} Two different types of programs are supported: -CLI commands, -ARexx scripts. @endnode @node PrgStack "Yak Documentation: Stack size" @prev PrgType @next PrgPriority @toc "Hotkey Actions" @{b}Stack size@{ub} This sets the stack size of the new process which runs the program. Note: only available for CLI commands. @endnode @node PrgPriority "Yak Documentation: Priority" @prev PrgStack @next PrgAREXXPort @toc "Hotkey Actions" @{b}Priority@{ub} This sets the priority of the new process which runs the program. Note: only available for CLI commands. @endnode @node PrgAREXXPort "Yak Documentation: AREXX Port" @prev PrgPriority @next PrgName @toc "Hotkey Actions" @{b}AREXX Port@{ub} This sets the AREXX port where to send the AREXX command. If you are using a simple AREXX script the AREXX Port should be the default one: AREXX. Note: only available for AREXX commands. @endnode @node PrgName "Yak Documentation: Program name" @prev PrgPriority @next PrgName @toc "Hotkey Actions" @{b}Program to execute@{ub} The file name of the program to start. There is no need to prepend a 'run' or a 'rx' command. @{b}Some CLI commands@{ub}: A hotkey to open a shell: This is traditionally attached to the hotkey "lcommand esc", and mine is set up to run the command "NewShell CON:79/177/582/78/AmigaShell/CLOSE/ALT2/58/660/197" Note the use of the ALT flag in the console specification, which is poorly documented (read "not mentioned"). I actually use two hotkeys, one to start a normal shell, and one to start a CShell. A hotkey to free unused memory: SAS/C uses shared libraries that can often fill precious chip memory. I have a hotkey set up with the command "avail >nil: flush" which frees this memory. A hotkey to list contents of each disk inserted: Set the hotkey to "diskinserted", and the command to "Dir df0:". @{b}Note@{ub}: if the CLI command generates any output (or requires input), a console window will open. You can of course specify redirection (as in the shell). See also: @{" Problems " link Problems} @endnode @node "Close Window" "Yak Documentation: Close Window" @prev "Execute Command" @next "Zip Window" @toc "Hotkey Actions" @{b}Close Window@{ub} o @{b}Action@{ub}: Close the selected window (this is equivalent to clicking on the window's close gadget). o @{b}Options@{ub}: - @{" Window selection " link "Window Selection"} (default: 'active window'). @endnode @node "Window selection" "Yak Documentation: Window selection" @prev "Window selection" @next "Window selection" @toc "Hotkey Actions" @{b}Window Selection@{ub} You may now specify on which window this hotkey is active. This one can be: -the Active Window, -the Window Under Mouse, -a window whose title match with the @{pattern link PatternHelp} specified. @endnode @node "Zip Window" "Yak Documentation: Zip Window" @prev "Close Window" @next "Shrink Window" @toc "Hotkey Actions" @{b}Zip Window@{ub} o @{b}Action@{ub}: Zip the selected window (this is equivalent to clicking on the window's 'Toggle size' gadget). o @{b}Options@{ub}: - @{" Window selection " link "Window Selection"} (default: 'active window'). @endnode @node "Shrink Window" "Yak Documentation: Shrink Window" @prev "Zip Window" @next "Expand Window" @toc "Hotkey Actions" @{b}Shrink Window@{ub} o @{b}Action@{ub}: Shrink the selected window. o @{b}Options@{ub}: - @{" Window selection " link "Window Selection"} (default: 'active window'). - @{" Resizing parametres " link Resizing} (default: 'horizontaly' and 'verticaly' 'keep the screen title bar visible'). @endnode @node "Expand Window" "Yak Documentation: Expand Window" @prev "Shrink Window" @next "Move Window" @toc "Hotkey Actions" @{b}Expand Window@{ub} o @{b}Action@{ub}: Expand the selected window. o @{b}Options@{ub}: - @{" Window selection " link "Window Selection"} (default: 'active window'). - @{" Resizing parametres " link Resizing} (default: 'horizontaly' and 'verticaly' 'keep the screen title bar visible'). @endnode @node Resizing "Yak Documentation: Resizing parametres" @prev Resizing @next Resizing @toc "Hotkey Actions" @{b}Resizing parametres@{ub} You may size the window: -horizontally, -vertically, -in two directions; and keep the screen title bar visible. @endnode @node "Move Window" "Yak Documentation: Move Window" @prev "Expand Window" @next "Cycle Windows" @toc "Hotkey Actions" @{b}Move Window@{ub} o @{b}Action@{ub}: Move the selected window. o @{b}Options@{ub}: - @{" Window selection " link "Window Selection"} (default: 'active window'). - @{" Moving parametres " link Moving} (default: 'left upper corner'). @endnode @node Moving "Yak Documentation: Moving parametres" @prev Moving @next Moving @toc "Hotkey Actions" @{b}Moving parametres (Screen/Window)@{ub} You may move the screen/window: -horizontally, -vertically, -in two directions; and keep: -the screen title bar visible (only available for the 'Move Window' hotkeys), -the active window visible (only available for the 'Move Screen' hotkeys). @endnode @node "Cycle Windows" "Yak Documentation: Cycle Windows" @prev "Move Window" @next "Open Palette" @toc "Hotkey Actions" @{b}Cycle Windows@{ub} o @{b}Action@{ub}: Cycle windows. Useful for getting at deeply 'buried' windows. o @{b}Options@{ub}: - @{" Screen selection " link "Screen Selection"} (default: 'frontmost screen'). - @{" Exclude workbench drawers " link "Exclude workbench drawers"} (default: 'no') - @{" Back cycle windows " link "Back cycle windows"} (default: 'no') - @{" Activate only " link "Activate only"} (default: 'no') - @{" By task name " link "By task name"} (default: 'no') @endnode @node "Screen selection" "Yak Documentation: Screen selection" @prev "Screen selection" @next "Screen selection" @toc "Hotkey Actions" @{b}Screen Selection@{ub} You can now specify on which screen this action is active. This one can be: -the Rearmost Screen (only available for the 'Screen To Front' hotkeys), -the FrontMost Screen (not available for the 'Screen To Front' hotkeys), -the Active Screen, -the Screen Under Mouse, -a screen whose title match with the pattern specified. (see @{" Default Title " link DefaultTitle} and @{" AmigaDos Patterns " link PatternHelp} ). @endnode @node "Exclude workbench drawers" "Yak Documentation: Exclude workbench drawers" @prev "Exclude workbench drawers" @next "Exclude workbench drawers" @toc "Hotkey Actions" @{b}Exclude Workbench drawers@{ub} When selected, the hotkey is disabled on the Workbench drawers. @endnode @node "Back cycle windows" "Yak Documentation: Back cycle windows" @prev "Back cycle windows" @next "Back cycle windows" @toc "Hotkey Actions" @{b}Back cycle windows@{ub} Cycle windows in the other direction. @endnode @node "Activate only" "Yak Documentation: Activate only" @prev "Activate only" @next "Activate only" @toc "Hotkey Actions" @{b}Activate only@{ub} When off, it causes windows to be depth re-arranged, this is the default behavior well know by Yak 1.x users.. When on, windows stay as they are, they just get activated. @endnode @node "By task name" "Yak Documentation: By task name" @prev "By task name" @next "By task name" @toc "Hotkey Actions" @{b}By task name@{ub} When on, you can now specify a @{" pattern " link PatternHelp} on the name of the task which handles some windows. To find the name of a task attached to a window, you can use ARTM and in the window description, you will find the name of this task on the line "UserPort: ... mp-SigTask". Some examples: To exclude ToolManager windows (docks), you can use the following pattern: "~(ToolManagerHandler)" To cycle only BrowserII windows, you can use the following pattern: "#?BrowserII#?" @endnode @node "Open Palette" "Yak Documentation: Open Palette" @prev "Cycle Windows" @next "Screen to front" @toc "Hotkey Actions" @{b}Open Palette@{ub} o @{b}Action@{ub}: Open a palette. o @{b}Options@{ub}: - @{" action on screens " link "Action On Screen"} (default: 'no screen change') The palette is run asynchronously, and you can open as many as you want (subject to memory). However, Yak cannot be terminated while palettes remain open. NOTE: You must have reqtools.library installed on your system for this action to work. WARNING: Always close the palette window before causing the screen it's on to close, otherwise you'll at least be left with an open screen, and at worst crash the system. @endnode @node "Screen to front" "Yak Documentation: Screen to front" @prev "Open Palette" @next "Screen to back" @toc "Hotkey Actions" @{b}Screen to front@{ub} o @{b}Action@{ub}: Bring the selected screen to front. o @{b}Options@{ub}: - @{" Screen selection " link "Screen Selection"} (default: 'rearmost screen'). See also: @{" Screens Activation " link ScreensActivation} @endnode @node "Screen to back" "Yak Documentation: Screen to back" @prev "Screen to front" @next "Move Screen" @toc "Hotkey Actions" @{b}Screen to back@{ub} o @{b}Action@{ub}: Push the selected screen behind all others. o @{b}Options@{ub}: - @{" Screen selection " link "Screen Selection"} (default: 'frontmost screen'). See also: @{" Screens Activation " link ScreensActivation} @endnode @node "Move Screen" "Yak Documentation: Move Screen" @prev "Screen to back" @next "Activate Workbench" @toc "Hotkey Actions" @{b}Move Screen@{ub} o @{b}Action@{ub}: Move the selected screen. o @{b}Options@{ub}: - @{" Screen selection " link "Screen Selection"} (default: 'frontmost screen'). - @{" Moving parametres " link Moving} (default: 'centre screen'); @endnode @node "Activate Workbench" "Yak Documentation: Activate Workbench" @prev "Move Screen" @next "Blank Display" @toc "Hotkey Actions" @{b}Activate Workbench@{ub} o @{b}Action@{ub}: Activate a Workbench window (and if necessary, bring the Workbench screen to the front). This enables you to access the Workbench menus without having to find a Workbench window to activate (if, for instance, you had a shell window the size of the screen). o @{b}Options@{ub}: NONE @endnode @node "Blank Display" "Yak Documentation: Blank Display" @prev "Activate Workbench" @next "Insert Text" @toc "Hotkey Actions" @{b}Blank Display@{ub} o @{b}Action@{ub}: Immediately blank the display. o @{b}Options@{ub}: NONE @endnode @node "Insert Text" "Yak Documentation: Insert Text" @prev "Blank Display" @next "Insert Date" @toc "Hotkey Actions" @{b}Insert Text@{ub} o @{b}Action@{ub}: Insert text into the read stream. o @{b}Options@{ub}: - @{"Text to be inserted " link "Inserted Text"} - @{"Delay between 2 chars" link "Delay Inserted Text"} @endnode @node "Delay Inserted Text" "Yak Documentation: Delay between 2 chars" @prev "Delay Inserted Text" @next "Delay Inserted Text" @toc "Hotkey Actions" @{b}Delay between 2 chars@{ub} Some programs of communication seem to prefer a slower speed when getting their input from Yak. So by specifying a non zero delay you can adjust the speed of the text insertion. The delay value is expressed in ticks which mean 0.02 second, so by settings a delay of 50 ticks Yak would output one char per second (quite slow ;-). The default value is 0 which means full speed. @endnode @node "Inserted Text" "Yak Documentation: Text Format" @prev "Inserted Text" @next "Inserted Text" @toc "Hotkey Actions" @{b}Text format@{ub} This string is preprocessed as follows: \n converted to carriage-return \r converted to carriage-return \t converted to tab \\ converted to backslash \ converted to specified hotkey \< converted to < Because of this preprocessing, insertion strings can perform many useful tasks. For example, I have a hotkey set up to insert my name and the date, using the argument string (without the quotes): "Martin W Scott, " Here, the hotkey "lcommand d" is another Yak hotkey I have set up to insert the date. By using more complicated strings, you can create simple macros for other programs. CAVEAT: Embedded hotkey strings, though useful, should be used with care. In particular, you must avoid recursive definitions, e.g. f1 insert text "" f2 insert text "" Pressing f1 or f2 results in an endless loop. If you are silly enough to do this, start the Commodities exchange and make Yak inactive. Then select the Exchange's Show Interface gadget and delete/redefine the offending hotkey(s). Another thing to be aware of is that strings that call other hotkeys (e.g. the date insertion example above) may not work as you might think. Suppose the Argument string was "\n". This would actually create a carriage return and THEN the date, because by the time Yak gets the "lcommand d" hotkey, the carriage return has gone through the input handler and been sent to the active window. @endnode @node "Insert Date" "Yak Documentation: Insert Date" @prev "Insert Text" @next "Show Yak Interface" @toc "Hotkey Actions" @{b}Insert Date@{ub} o @{b}Action@{ub}: Insert the date into the read-stream (and so into the currently active window). o @{b}Options@{ub}: - @{"Date format string" link DateFmt} If you are running AmigaDos 2.1 or above, you may customise the format of the date inserted. This format is specified in the Argument string. If you are unlucky enough to be running AmigaDos 2.0, the date is in standard DD-MMM-YY format. @endnode @node "Show Yak Interface" "Yak Documentation: Show Yak Interface" @prev "Insert Date" @next "Set default public screen" @toc "Hotkey Actions" @{b}Show Yak Interface@{ub} o @{b}Action@{ub}: Launch Yak's preferences editor. This is the same function that the CX_POPKEY hotkey performs. o @{b}Options@{ub}: - @{" action on screens " link "Action On Screen"} (default: 'no screen change') @endnode @node "Set default public screen" "Yak Documentation: Set default public screen" @prev "Show Yak Interface" @next "Menu shortcut" @toc "Hotkey Actions" @{b}Set default public screen@{ub} o @{b}Action@{ub}: Set the current screen as the default one. This will work only if the current screen is a public one. o @{b}Options@{ub}: NONE @endnode @node "Menu shortcut" "Yak Documentation: Menu shortcut" @prev "Set default public screen" @next "Iconify Window" @toc "Hotkey Actions" @{b}Menu shortcut@{ub} o @{b}Action@{ub}: Sends an input event to @{b}menu of the current active window@{ub}, simulating a user choice in the menu (if any). This can be useful to add some keyboards shortcuts to applications that don't have ones or not enough. o @{b}Options@{ub}: - @{" Menu numbers " link MenuNumbers}. @endnode @node MenuNumbers "Yak Documentation: Menu numbers" @prev "Menu shortcut" @next "Iconify Window" @toc "Hotkey Actions" @{b}Menu numbers@{ub} The arguments specify the menu number, the item number and optionnally the subitem number. All these numbers start at 0 following the Intuition rule (i.e first menu is menu 0 and not 1). Note that a bar label counts as an item, if before the item you wan to access there are several bar labels you must take them into account while specifying the item number. However, don't be afraid if you make mistakes in specifying the argument as Yak do all needed checkings before sending a menu event in order to avoid disturbing your application menu handler. Here are some examples: You find that the workbench has not enough menu shortcuts : To access the "Last Message" item of the "Workbench" menu : - Menu number: 0 - Item number: 4 - Subitem : no To access the "Only Icons" subitem of the "Show" sub menu of the "Window" menu : - Menu number : 1 - Item number : 7 - Subitem : yes - SubItem number: 0 @endnode @node "Iconify Window" "Yak Documentation: Iconify Window" @prev "Menu shortcut" @next "Hotkey Actions" @toc "Hotkey Actions" @{b}Iconify Window@{ub} o @{b}Action@{ub}: Iconify the selected window (this means the window disappears and an AppIcon is created to allow de-iconification by double clicking on it). The AppIcon title will be the the title of the iconified winodw or if it has no title, the name of the task handling it. o @{b}Icon choice@{ub}: - if window is a workbench one, Yak will take envarc:sys/def_drawer.info as the icon of the iconified window. - if window is managed by KingCON, it will use sys:system/shell.info - if all previous failed, Yak will take its own icon. o @{b}Options@{ub}: - @{" Window selection " link "Window Selection"} (default: 'active window'). See also: @{" Problems " link Problems} @endnode ## DIGITAL CLOCK @node "Digital Clock" "Yak Documentation: Digital Clock Window" @prev MainWindow @next Copyright @{b}Digital Clock Window@{ub} Clicking on the "Digital Clock" gadget opens up a new window which allows you to configure a digital clock that is displayed in title bar screens. Digital Clock settings: - @{" Active " link Active} - @{" Offset " link Offset} - @{" Interval " link Interval} - @{" Show Date " link "Show Date"} - @{" Show Day " link "Show Day"} - @{" Short Day " link "Short Day"} - @{" Show Seconds " link "Show Seconds"} - @{" Date Format " link "Date Format"} - @{" Locale Date Format " link "Locale Date Format"} - @{" Screen Selection " link "Screen Selection"} - @{" Screen Pattern " link "Screen Pattern"} See also: @{" Problems " link Problems} @endnode @node Interval "Yak Documentation: Digital Clock Offset" @prev "Digital Clock" @next Interval @{b}Digital Clock Offset@{ub} Horizontal offset (in pixels) of clock from screen depth gadget. (default is 5 pixels) @endnode @node Offset "Yak Documentation: Digital Clock Interval" @prev Offset @next Interval @{b}Digital Clock Interval@{ub} Number of seconds between 2 clock updates. (default is 1 second) @endnode @node "Show Date" "Yak Documentation: Digital Clock Show Date" @prev Interval @next "Show Day" @{b}Digital Clock Show Date@{ub} Show current date using @{" Date Format " link "Date Format"}. This option is only enabled when not using a @{" Locale Date Format " link "Locale Date Format"}. @endnode @node "Show Day" "Yak Documentation: Digital Clock Show Day" @prev "Show Date" @next "Short Day" @{b}Digital Clock Show Day@{ub} Show current day. This option is only enabled when not using a @{" Locale Date Format " link "Locale Date Format"}. @endnode @node "Short Day" "Yak Documentation: Digital Clock Short Day" @prev "Show Day" @next "Short Day" @{b}Digital Clock Show Day@{ub} Show current day on 3 characters. This option is only enabled when not using a @{" Locale Date Format " link "Locale Date Format"}. @endnode @node "Show Seconds" "Yak Documentation: Digital Clock Show Seconds" @prev "Short Day" @next "Date Format" @{b}Digital Clock Show Seconds@{ub} Show seconds beside hours and minutes. This option is only enabled when not using a @{" Locale Date Format " link "Locale Date Format"}. @endnode @node "Date Format" "Yak Documentation: Digital Clock Date Format" @prev "Show Seconds" @next "Locale Date Format" @{b}Digital Clock Date Format@{ub} Show date using a specific format. The 4 first formats proposed doesn't use locale.library, the last one use locale.library and so it is more flexible. @endnode @node "Locale Date Format" "Yak Documentation: Digital Clock Locale Date Format" @prev "Date Format" @next "Screen Selection" @{b}Digital Clock Date Format@{ub} Show date using a locale.library format. See @{" Format a date using locale.library " link DateFmt} @endnode ## DATEFORMAT HELP @node DateFmt "Yak Documentation: Date format string" @prev DateFmt @next DateFmt @toc "Hotkey Actions" @{b}Date format string@{ub} For date-insertion hotkeys, you must specify a locale-style date format string (and need to be running AmigaDos 2.1 or higher). The available formatting options under locale.library are as follows: %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s That list is pretty exhaustive, and should handle most needs; you can insert your own text freely in the format string. Some examples: "The time is %X" gives (e.g.) "The time is 20:44:16" "Have a nice %A!" gives (e.g.) "Have a nice Monday!" If you need more details, consult the AutoDocs on locale.library if you have them. @endnode ## More on hotkeys @node MoreHotkeys "Yak Documentation: More on Hotkeys" @prev "Manual Definition" @next "Hotkey Description String" @toc "Hotkey Description String" @{b}More on Hotkeys@{ub} This information is adapted from the ToolManager V2 documentation, and is reproduced with kind permission of that program's author, Stefan Becker. How to define a Hot Key ======================= This chapter describes how to define a Hot Key as an Input Description String, which is then parsed by Commodities. Each time a Hot Key is activated Commodities generates an event which is used by a Commodity in the chain. A description string has the following syntax: [] {[-][]} [-][upstroke] [] All keywords are case insensitive. `class' describes the InputEvent class. This parameter is optional and if it is missing the default `rawkey' is used. See InputEvent classes. Qualifiers are "signals" that must be set or cleared by the time the Hot Key is activated; otherwise no event will be generated. For each qualifier that must be set you supply its keyword. All other qualifiers are expected to be cleared by default. If you want to ignore a qualifier, just set a `-' before its keyword. See Qualifiers. Normally a Hot Key event is generated when a key is pressed. If the event should be generated when the key is released, supply the keyword `upstroke'. When both press and release of the key should generate an event, use `-upstroke'. The key code is depending on the InputEvent class. See Key codes. Note: Choose your hot keys *carefully*, because Commodities has a high priority in the InputEvent handler chain (i.e. will override existing definitions). InputEvent classes =================== Commodities supports most of the InputEvent classes that are generated by the input.device. This section describes those classes that are most useful for Hot Keys. `rawkey' This is the default class and covers all keyboard events. For example `rawkey a' or `a' creates an event every time when the key "a" is pressed. You must specify a key code for this class. See rawkey key codes. `rawmouse' This class describes all mouse button events. You must specify a key code for this class. See rawmouse key codes. `diskinserted' Events of this class are generated when a disk is inserted in a drive. This class has no key codes. `diskremoved' Events of this class are generated when a disk is removed from a drive. This class has no key codes. Qualifiers =========== Some keyword synonyms were added to Commodities V38. These are marked with an `*'. `lshift', `left_shift' * Left shift key. `rshift', `right_shift' * Right shift key. `shift' Either shift key. `capslock', `caps_lock' * Caps lock key. `caps' Either shift key or caps lock key. `control', `ctrl' * Control key. `lalt', `left_alt' * Left alt key. `ralt', `right_alt' * Right alt key. `alt' Either alt key. `lcommand', `lamiga' *, `left_amiga' *, `left_command' * Left Amiga/Command key. `rcommand', `ramiga' *, `right_amiga' *, `right_command' * Right Amiga/Command key. `numericpad', `numpad' *, `num_pad' *, `numeric_pad' * This keyword *must* be used for any key on the numeric pad. `leftbutton', `lbutton' *, `left_button' * Left mouse button. See note below. `midbutton', `mbutton' *, `middlebutton' *, `middle_button' * Middle mouse button. See note below. `rbutton', `rightbutton' *, `right_button' * Right mouse button. See note below. `repeat' This qualifier is set when the keyboard repeat is active. Only useful for InputEvent class `rawkey'. Note: Commodities V37 has a bug which prevents the use of `leftbutton', `midbutton' and `rbutton' as qualifiers. This bug is fixed in V38. Key codes ========== Each InputEvent class has its own key codes: Key codes for InputEvent class `rawkey' ---------------------------------------- Some keywords and synonyms were added to Commodities V38. These are marked with an `*'. `a'-`z', `0'-`9', ... ASCII characters. `f1', `f2', ..., `f10', `f11' *, `f12' * Function keys. `up', `cursor_up' *, `down', `cursor_down' * `left', `cursor_left' *, `right', `cursor_right' * Cursor keys. `esc', `escape' *, `backspace', `del', `help' `tab', `comma', `return', `space', `spacebar' * Special keys. `enter', `insert' *, `delete' * `page_up' *, `page_down' *, `home' *, `end' * Numeric Pad keys. Each of these key codes *must* be used with the `numericpad' qualifier keyword! Key codes for InputEvent class `rawmouse' ------------------------------------------ These keywords were added to Commodities V38. They are not available in V37. `mouse_leftpress' Press left mouse button. `mouse_middlepress' Press middle mouse button. `mouse_rightpress' Press right mouse button. Note: To use one of these key codes, you must also set the corresponding qualifier keyword, e.g. rawmouse leftbutton mouse_leftpress Examples for Hot Keys ====================== `ralt t' Hold right Alt key and press "t" `ralt lalt t' Hold left *and* right Alt key and press "t" `alt t' Hold either Alt key and press "t" `rcommand f2' Hold right Amiga key and press the second function key `numericpad enter' Press the Enter key on the numeric pad `rawmouse midbutton leftbutton mouse_leftpress' Hold middle mouse button and press the the left mouse button `diskinserted' Insert a disk in any drive. @endnode ## COPYRIGHT @node Copyright "Yak Documentation: Copyright" @prev Hotkeys @next Problems @{b}Copyright and Distribution@{ub} Yak (the binary, sources and documentation) is Copyright 1993, 1996 Ga l Marziou & Philippe Bastiani. All Rights reserved. Yak is freely redistributable. The source is included, and you are permitted to modify it for personal use, but any modifications made must NOT be distributed. If you have made changes you think others would like, send them to me and I'll include them in future versions. Since Yak is free, it comes with NO WARRANTIES. The authors are not responsible for any loss or damage arising from the use of Yak; the user takes all such responsibility. No charge may be made for Yak, other than a nominal copy fee. Yak may not be distributed with a commercial product without the authors prior consent. Yak must be distributed with all documentation intact and unaltered, and preferably with source too. Permission is expressly granted to Fred Fish to distribute on his fine collection of disks. Although Yak is freeware, DONATIONS WOULD BE GLADLY ACCEPTED, either money or stuff you've written yourself. See @{" Contacting the Authors " link Contact}. @endnode ## PROBLEMS @node Problems "Yak Documentation: Problems / Non Problems" @prev Copyright @next History @{b}Problems / Non Problems@{ub} There are a few problems that we are currently aware of, but there are also problems that are not really problems. @{" Current Dir for Execute Command " link Problem1} @{" OneKeyII and Yak " link Problem2} @{" Mouse blanking " link Problem3} @{" Mouse Cycling and Caps Lock " link Problem4} @{" Clock not restarting " link Problem5} @{" Iconify Window and window to back " link Problem6} @endnode @node Problem1 "Yak Documentation: Current Dir for Execute Command" @prev Problems @next Problem2 @toc Problems A shell created by a Execute Command hotkey doesn't have the current directory as set at boot-time (in the Startup-Sequence). It DOES retain your path, though. Your Shell-Startup file should set the CD and the stack you need. By default, processes started in this way have the system boot disk (SYS:) as their current directory. @endnode @node Problem2 "Yak Documentation: OneKeyII and Yak" @prev Problem1 @next Problem3 @toc Problems OneKeyII users: disable OnekeyII when you edit a hotkey! @endnode @node Problem3 "Yak Documentation: MouseBlanking" @prev Problem2 @next Problem4 @toc Problems If you're not happy with Yak's mouse-blanking, you could try the Commodore MouseBlank commodity (WB3.0), which should blank the mouse on all displays correctly.On AGA machines, Copper blanking causes problems if you are using an highres mouse pointer : use Sprites blanking or Commodore MouseBlank instead. @{b}NOTE FOR AMOS USERS@{ub}: I don't like AMOS (that's enough of my opinion), partly because it is so system unfriendly. It completely steals the input stream, so that mouse blankers (in programs like Yak) kick-in, thinking there's been no input, and the mouse isn't restored, because there's no mousemoves to unblank it. Because Yak uses a rather bad blanking method, problems can occur (mouse vanishes and won't come back). Two solutions: 1) Use 'Copper' blanking. 2) Set MouseBlankTime to zero. You'll still have key blank, but no timed blank. Then the AMOS problem of the pointer disappearing should be solved. @endnode @node Problem4 "Yak Documentation: Mouse Cycling and Caps Lock" @prev Problem3 @next Problem5 You have setup mouse cycling function to bring window to front to double left click, it works OK but when you put CapsLock on, it doesn't work any more. That's not a problem, that's a feature, from the commodity point of view, CapsLock is a qualifier among others. Anyway, Yak's flexibility allows you to solve your problem : just edit the string gadget whhere the definition is displayed and add the following (without the quotes) '-CapsLock' which means that CapsLock will be ignored as a qualifier for this definition. @endnode @node Problem5 "Yak Documentation: Clock not restarting"" @prev Problem4 @next Problem6 Sometimes after you've changed the clock prefs, the clock doesn't restart. A simple workaround is to restart Yak. @endnode @node Problem6 "Yak Documentation: Iconify Window and window to back" @prev Problem5 @next Problem6 For the moment, when a window has been iconified 'window to back' mouse cycling doesn't work anymore until the window gets de-iconified.. This is real bug and it is currently under investigation. @endnode ## HISTORY @node History "Yak Documentation: Program History" @prev Problems @next Credits @{b}Program History@{ub} (* = new feature) @{b}v2.12@{ub} * Added @{"Digital Clock" link "Digital Clock"} feature * New hotkey action: @{"Iconify Window" link "Iconify Window"} * New method for screen blanking: @{"PowerSave" link ScreenBlankMethod} * Now, @{"UNIX Root" link UNIXRoot} tries to resolve conflicts between amigados and UNIX paths. - Now, when using @{"DMA Blanker" link ScreenBlankMethod}, if @{"Black border" link BlackBorder} is off Yak opens a black screen, DMA blanks and then close the black screen. This way the display is black. - @{Tooltypes link YakTooltypes} are now read even when Yak is started from CLI. - @{Sprite link MouseBlankMethod} mouse blanking method rewritten. @{b}v2.11@{ub} * Online help system * Added @{"CapShift" link CapShift} feature - Fixed a memory leak in 'Cycle windows' action. - Fixed a bug in @{"UnixDirs" link UnixDirs} feature where filename like 'hello....' was translated into 'hello../' - Bug fixed in installer script - Bug fixed in @{"DMA Blanker" link ScreenBlankMethod} - Bug fixed, Yak was never setting back its priority to low one. - Bug fixed, 'Blank mouse on key pressed' option was not active if mouse timeout was set to 0. @{b}v2.10@{ub} - A signal for emulation of depth screen gadget wasn't allocated. - Added a small delay to window to front/back mouse cycling to avoid a bigger delay when clicking on wb windows. The small delay is there to let wb do its job, it is configurable through 2 tooltypes FRONT_DELAY and BACK_DELAY. * New option for @{"Insert Text" link "Insert Text"} action, possibility to add a delay between chars. * New option for screen blanking: @{"DMA Blanker" link ScreenBlankMethod}. * Added a bgui.library version of the prefs editor, thanks @{"Nick" link Contact}. @{b}v2.03@{ub} - Bad change of Yak 2.02 removed, Yak priority back to 5. So double-clicking in workbench drawers will still introduce a delay. I need some time to to fix it, meanwhile users can configure @{"Window To Front" link ClickToFront} mouse cycling to simple click. - @{"Screen to Back" link "Screen to Back"} hotkey action works again. - @{"Menu shortcut" link "Menu shortcut"} action, mutual exclude should work now, yes really ;-) @{b}v2.02@{ub} - Side effect of a 2.01 fix, Yak wasn't hiding title screen bar when @{"Full Workbench" link FullWorkbench} was set. - @{"Full Workbench" link FullWorkbench}: now Yak takes care of other backdrop windows like those of some title screen clocks. - @{"Menu shortcut" link "Menu shortcut"} action, when applied twice to the same mutual exclude item, was toggling this item. @{b}v2.01@{ub} - Bug fixed in @{"Full Workbench" link FullWorkbench} feature, Yak was confused by other backdrop windows than workbench's one. - Yak priority has been raised up to 21 in order to avoid delay when double-clicking into a workbench drawer. * Now, Yak remember active window on a screen already visited even when using screen depth gadgets - When screens cycling through backdrop windows, the backdrop window is no longer considered as the last active window for this screen. So, when coming back to this screen, the window that will get activated will the real last active window on this screen and not the backdrop one which was just activated during screens cycling. @{b}v2.00@{ub} Major update @endnode ## CREDITS @node Credits "Yak Documentation: Credits and Thanks" @prev History @next YakTeam @{b}Credits and Thanks@{ub} Yak is written entirely in C, and compiled with SAS/C 6.56 but it can also be compiled with DICE. The Prefs editor GUI was created first using GadToolsBox v2.0b, from Jaba Development. Thanks Jan also for writing BGUI library. Yak makes use of reqtools.library, which is Copyright @{b}Nico Fran ois@{ub}. Yak also uses Wb2CLI, a very useful little link-module by @{b}Mike Sinz@{ub}. Thanks also to @{b}Heinz Wrobel@{ub} for his wonderful port of RCS to the Amiga, to @{b}Pierre Carette@{ub} and @{b}Sylvain Rougier@{ub} for BrowserII, @{b}Martin Kornd rfer@{ub} for his MagicMenu. The HotKey definition documentation is taken from the ToolsManager distribution, by kind permission of @{b}Stefan Becker@{ub}. Thanks to @{b}Stefan Sticht@{ub} for his public domain MouseBlanker commodity - this is where I pinched the 'Copper' mouse-blanking method. And a big thank-you to all those people who have written to me about Yak with suggestions and bug reports. Thanks also to @{b}Martin Huttenloher@{ub} for his wonderful icons package : MagicWB. Thanks to Nicola Salmoria who explained me the principle of the "black border" feature and for his great package NewIcons. And last but not least, thanks to @{b}Martin Scott@{ub} who created Yak. @endnode ## Yak development team @node YakTeam "Yak Documentation: Yak development team" @prev Credits @{b}Yak development team@{ub} Yak development is a team work. @{b}Programming@{ub} Gael Marziou Philippe Bastiani Nick Christie @{b}Translations, suggestions and beta testing@{ub} Alex Galassi : italian doc, installer script and catalog. Ingolf Koch : german doc, installer script and catalog. Christian H j : danish doc, installer script and catalog. Patrick van Beem : dutch installer script and catalog. Johan Billing : swedish catalog. Peter Eriksson : swedish installer script. Arttu K rpinlehto: finnish installer script and catalog. @endnode ## CONTACT @node Contact "Yak Documentation: Contacting the authors" @prev YakTeam @{b}Contacting the authors@{ub} We can be reached with comments, suggestions, bug reports, praise, money etc. at the following addresses: @{b}Philippe Bastiani 7 Boulevard Ricard 13003 MARSEILLE FRANCE@{ub} OR BY EMAIL (preferred): @{b}philippe.bastiani@ramses.fdn.org@{ub} and for BGUI prefs editor: @{b}Nick Christie 39 St Georges Drive Bransgore BH23 8EZ Great Britain@{ub} Before reporting a problem, try to figure out if it's really a problem, read carefully the doc and the @{" Problems / Non Problems " link Problems} section. @endnode ## INDEX @node Index "Yak Documentation" @prev Main @next Index @{b}Index@{ub} @{" AutoPoint " link AutoPoint} @{" AutoPopToFront " link AutoPopToFront} @{" Black border " link BlackBorder} @{" Blanking " link Blanking} @{" CapShift " link CapShift} @{" Click Volume " link ClickVolume} @{" ClickToBack " link ClickToBack} @{" ClickToFront " link ClickToFront} @{" CycleScreens " link CycleScreens} @{" Digital Clock " link "Digital Clock"} @{" Full Workbench " link FullWorkbench} @{" Hotkey Actions " link "Hotkey Actions"} @{" Hotkey Description String " link MoreHotkeys} @{" Key Activate " link KeyActivate} @{" MMB Activate " link MMBActivate} @{" MMB Shift " link MMBShift} @{" No Click " link NoClick} @{" RMB Activate " link RMBActivate} @{" Screens Activation " link ScreensActivation} @{" UNIX dirs " link UNIXDirs} @{" UNIX root " link UNIXRoot} @{" Wild star " link Wildstar} @{" Windows Activation " link WindowsActivation} @endnode